package game.worlds;

/**
 * 游戏战斗参数
 */
typedef GameWorldOption = {
	var ?roles:Array<RoleOption>;
	var ?player1:String;
	var ?player2:String;

	/**
	 * 定义游戏时长，如果为-1则为无限时长，否则为时长单位为秒
	 */
	var ?time:Int;

	/**
	 * 角色血量比例
	 */
	var ?hpScale:Float;

	/**
	 * 角色气力值比例
	 */
	var ?effortScale:Float;
}

/**
 * 角色参数
 */
typedef RoleOption = {
	/**
	 * 角色ID
	 */
	var id:String;

	/**
	 * 角色加载类型
	 */
	var loadType:RoleLoadType;

	/**
	 * 角色加载路径
	 */
	var ?path:String;
}

/**
 * 角色加载类型
 */
enum abstract RoleLoadType(String) to String from String {
	/**
	 * 幻想纹章2格式数据
	 */
	var HXWZ2_DATA = "data";

	/**
	 * 幻想纹章2·Next格式数据
	 */
	var ABN_DATA = "abn";

	/**
	 * 幻想纹章2·Next项目格式数据
	 */
	var ABPROJ = "abproj";
}
